package org.jeecg.ocr;

import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;

import java.io.File;

public class OcrZDetail {

    /**
     * 根据图片文件进行识别
     *
     * @param imageFile 图片文件
     * @param lang 指定语言库
     * @return 识别文本信息
     */
/*    public static String doOCRFromFile(File imageFile, String lang) throws Exception {
        ITesseract instance = new Tesseract();
//        instance.setDatapath(DATA_PATH); //指定语言库目录
        instance.setTessVariable("user_defined_dpi", "300");
        instance.setLanguage(lang);
        String result = instance.doOCR(imageFile);
        return result;
    }*/
    /**
     * main method
     */
    public static void main(String[] args) {
        // 识别图片的路径（修改为自己的图片路径）
        String path = "E:\\test.jpg";

        // 语言库位置（修改为跟自己语言库文件夹的路径）
        String lagnguagePath = "E:\\tessdata";

        File file = new File(path);
        ITesseract instance = new Tesseract();

        //设置训练库的位置
        instance.setDatapath(lagnguagePath);

        //chi_sim ：简体中文， eng    根据需求选择语言库
        instance.setLanguage("chi_sim");
        String result = null;
        try {
            long startTime = System.currentTimeMillis();
            result =  instance.doOCR(file);
            long endTime = System.currentTimeMillis();
            System.out.println("Time is：" + (endTime - startTime) + " 毫秒");
        } catch (TesseractException e) {
            e.printStackTrace();
        }

        System.out.println("result: ");
        System.out.println(result);
    }
}
